Printing on a drink in accordance with a container property

ABSTRACT

A method and device of providing a customized drink and/or printing on a drink.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to U.S. provisional patentapplication Ser. No. 62/354,093 filed on Jun. 26, 2016 which isincorporated herein by reference in its entirety. The presentapplication is a continuation in part of U.S. non-provisional patentapplication Ser. No. 15/191,465 filed on Jun. 26, 2016 which isincorporated herein by reference in its entirety. U.S. non-provisionalpatent application Ser. No. 15/191,465 claims priority to U.S.provisional patent application Ser. No. 62/183,695 filed on Jun. 26,2015 which is incorporated herein by reference in its entirety.

BACKGROUND

FIG. 14 (PRIOR ART) is taken from US 2009/0317519, incorporated hereinby reference.

PCT/IL2006/000379, incorporated herein by reference in its entirety,discloses Optical sensor devices, image processing devices, methods andcomputer readable code computer-readable storage media for detectingdetected from a food item such as food tissue, a consumable beveragesuch as an alcoholic beverage, a dairy product, wine, a baked good, afruit and a vegetable. Exemplary parameters related to food itemsinclude but are not limited to a parameter indicative of cooking orspoilage, a pH, a concentration of an antioxidant, and a concentrationof an anti-inflammatory agent.

SUMMARY OF EMBODIMENTS

A drink-printing system for printing on a current drink comprising: a.an ink-jet printer defining a target-location; b. a plurality ofcolorant reservoirs; c. one or more sensor(s) for sensing property-dataof a current drink that is currently at the target location so as toperform at least one of the following drink-distinguishing operationsfor the current drink: distinguishing between a coffee and beer;distinguishing between multiple types of coffee; distinguishing betweenmultiple types beer; d. control circuitry for: i. causing the ink-jetprinter to print, on an upper surface of the current drink, a pre-storeddigital image; and ii. response to output of the sensor(s), causing theink-jet printer to dynamically select a colorant reservoir for theink-jet printing in accordance with the results of drink-distinguishingoperation(s).

In some embodiments, in response to a determining by the sensor(s) thatthe current drink is a coffee, the control circuitry selects acoffee-based colorant reservoir.

In some embodiments, in response to a determining by the sensor(s) thatthe current drink is a coffee, the control circuitry selects ahops-based colorant reservoir.

In some embodiments, in response to a determining by the sensor(s) thatthe current drink is a beer, the control circuitry selects a hops-basedcolorant reservoir.

In some embodiments, (i) a first of the colorant reservoirs is coffeebased and a coffee-based ink is stored therein and (ii) a second of thecolorant reservoirs is hops based and a hops-based ink is storedtherein.

In some embodiments, comprising a plurality of malt-based colorantreservoirs and the control circuitry selects between them for theink-jet printing according to the results of the distinguishing betweenthe multiple types of beer.

In some embodiments, comprising a plurality of hops-based colorantreservoirs and the control circuitry selects between them for theink-jet printing according to the results of the distinguishing betweenthe multiple types of beer.

A drink-printing system for comprising: a. an ink-jet printer defining atarget-location;

b. one or more sensor(s) for sensing property-data of a current drinkthat is currently at the target location so as to perform at least oneof the following drink-identification operations for the current drink:distinguishing between a coffee and beer; distinguishing betweenmultiple types of coffee; distinguishing between multiple types beer; c.control circuitry for responding to a detected event by causing theink-jet printer to print a given digital image on an upper surface ofthe current drink, wherein the control circuitry responds to the resultsof drink-distinguishing operation so as to allow or forbid inkjetprinting of the given digital image on the upper surface of the currentdrink.

In some embodiments, further comprising: d. a drink-order databasedescribing a plurality of drink-orders, each drink-order associatingdrink property data with a digital image to be printed; and e. a userinterface for receiving a user-specifying of the given digital image asthe image to be printed, wherein if user-specified digital image isassociated with a coffee within the drink order database, the controlcircuitry requires the sensor(s) to identify the current drink as coffeein order to allow the inkjet printing of the given digital image.

In some embodiments, further comprising: d. a drink-order databasedescribing a plurality of drink-orders, each drink-order associatingdrink property data with a digital image to be printed; and e. a userinterface for receiving a user-specifying of the given digital image asthe image to be printed, wherein if user-specified digital image isassociated with a specific type of coffee within the drink orderdatabase, the control circuitry requires the sensor(s) to identify thecurrent drink as the specific type of coffee in order to allow theinkjet printing of the given digital image.

In some embodiments, d. a drink-order database describing a plurality ofdrink-orders, each drink-order associating drink property data with adigital image to be printed; and e. a user interface for receiving auser-specifying of the given digital image as the image to be printed,wherein if user-specified digital image is associated with a specifictype of coffee within the drink order database, the control circuitryrequires the sensor(s) to identify the current drink as the specifictype of coffee in order to allow the inkjet printing of the givendigital image.

In some embodiments, the sensor(s) distinguish between coffee and beerand the control circuitry dynamically selects the colorant reservoir orselectively allows or forbids the inkjet printing of the given digitalimage on the upper surface of the current drink according to thedistinguishing between coffee and beer.

In some embodiments, the sensor(s) distinguish between multiple types ofbeer and the control circuitry dynamically selects the colorantreservoir or selectively allows or forbids the inkjet printing of thegiven digital image on the upper surface of the current drink accordingto the distinguishing between multiple types of beer.

In some embodiments, the sensor(s) distinguish between multiple types ofcoffee and the control circuitry dynamically selects the colorantreservoir or selectively allows or forbids the inkjet printing of thegiven digital image on the upper surface of the current drink accordingto the distinguishing between multiple types of coffee.

In some embodiments, the sensor comprises at least one of a colorsensor, a camera, a spectrometer, a chemical concentration sensor, avapor sensor for sensing properties of vapors above the upper surface ofthe current beverage, a surface texture sensor, a pH sensor,colorimeter, and a color-tone sensor.

In some embodiments, the sensor distinguishes between coffee and beer,and the control circuitry operates according to the results of thebeer-coffee distinguishing.

In some embodiments, the sensor distinguishes between different types ofbeer, and the control circuitry operates according to the results of thebeer-type distinguishing.

In some embodiments, the sensor(s) distinguishes between different typesof beer by measuring an absorbance of coherent light.

In some embodiments, the sensor(s) distinguishes between different typesof beer by measuring foam quality and/or property(ies).

In some embodiments, the sensor(s) distinguishes between different typesof coffee roasts, and the control circuitry operates according to theresults of the coffee roast distinguishing.

In some embodiments, the distinguishing is performed according topre-stored data descriptive of each roast color.

In some embodiments, wherein the sensor analyzes geometric properties ofthe beverage-container and the control circuitry operates according tothe results of the beverage-container geometric-property analysis.

In some embodiments, the sensor distinguishes between a beer mug and acoffee mug based upon differing geometric properties therebetween.

In some embodiments, the sensor distinguishes between coffee and beerbased upon temperature of the contents of the current beverage wherein ahigher temperature indicates coffee and a lower temperature indicatesbeer.

A method of operating a drink-printing system, method comprising: a.providing each of the following: i. an ink-jet printer defining atarget-location; ii. electronic circuitry; and iii. a plurality ofcolorant reservoirs; b. operating one or more one or more sensor(s) forsensing property-data of a current drink that is currently at the targetlocation so as to perform at least one of the followingdrink-distinguishing operations for the current drink: i. distinguishingbetween a coffee and beer; ii. distinguishing between multiple types ofcoffee; iii. distinguishing between multiple types beer; c. operatingthe electronic circuitry to control the ink-jet printer as follows: i.causing the ink-jet printer to print, on an upper surface of the currentdrink, a pre-stored digital image; and ii. responsive to output of thesensor(s), causing the ink-jet printer to dynamically select a colorantreservoir for the ink-jet printing in accordance with the results ofdrink-distinguishing operation(s).

In some embodiments, in response to a determining by the sensor(s) thatthe current drink is a coffee, the control circuitry selects acoffee-based colorant reservoir.

In some embodiments, in response to a determining by the sensor(s) thatthe current drink is a coffee, the control circuitry selects ahops-based colorant reservoir.

In some embodiments, in response to a determining by the sensor(s) thatthe current drink is a beer, the control circuitry selects a hops-basedcolorant reservoir.

In some embodiments, wherein: (i) a first of the colorant reservoirs iscoffee based and a coffee-based ink is stored therein and (ii) a secondof the colorant reservoirs is hops based and a hops-based ink is storedtherein.

In some embodiments, comprising a plurality of malt-based colorantreservoirs and the control circuitry selects between them for theink-jet printing according to the results of the distinguishing betweenthe multiple types of beer.

In some embodiments, comprising a plurality of hops-based colorantreservoirs and the control circuitry selects between them for theink-jet printing according to the results of the distinguishing betweenthe multiple types of beer.

A method of operating drink-printing system, the method comprising: a.an ink-jet printer defining a target-location; b. providing one or moresensor(s) for sensing property-data of a current drink that is currentlyat the target location so as to perform at least one of the followingdrink-identification operations for the current drink: distinguishingbetween a coffee and beer;

distinguishing between multiple types of coffee; distinguishing betweenmultiple types beer; c. operating the control circuitry to respond to adetected event by causing the ink-jet printer to print a given digitalimage on an upper surface of the current drink, wherein the controlcircuitry responds to the results of drink-distinguishing operation soas to allow or forbid inkjet printing of the given digital image on theupper surface of the current drink.

In some embodiments, the sensor(s) distinguish between coffee and beerand the control circuitry dynamically selects the colorant reservoir orselectively allows or forbids the inkjet printing of the given digitalimage on the upper surface of the current drink according to thedistinguishing between coffee and beer.

In some embodiments, the sensor(s) distinguish between multiple types ofbeer and the control circuitry dynamically selects the colorantreservoir or selectively allows or forbids the inkjet printing of thegiven digital image on the upper surface of the current drink accordingto the distinguishing between multiple types of beer.

In some embodiments, the sensor(s) distinguish between multiple types ofcoffee and the control circuitry dynamically selects the colorantreservoir or selectively allows or forbids the inkjet printing of thegiven digital image on the upper surface of the current drink accordingto the distinguishing between multiple types of coffee.

In some embodiments, the sensor comprises at least one of a colorsensor, a camera, a spectrometer, a chemical concentration sensor, avapor sensor for sensing properties of vapors above the upper surface ofthe current beverage, a surface texture sensor, a pH sensor,colorimeter, and a color-tone sensor.

In some embodiments, the sensor distinguishes between coffee and beer,and the control circuitry operates according to the results of thebeer-coffee distinguishing.

In some embodiments, the sensor distinguishes between different types ofbeer, and the control circuitry operates according to the results of thebeer-type distinguishing.

In some embodiments, the sensor(s) distinguishes between different typesof beer by measuring an absorbance of coherent light.

In some embodiments, the sensor(s) distinguishes between different typesof beer by measuring foam quality and/or property(ies).

In some embodiments, the sensor distinguishes between different types ofcoffee roasts, and the control circuitry operates according to theresults of the coffee-roast distinguishing.

A drink-printing system for comprising: a. an ink-jet printer defining atarget-location; b. one or more camera(s) for imaging a current drinkthat is currently at the target location so as to generate acamera-acquired digital image; c. an optical character recognition (OCR)module for subjecting, to an OCR analysis, the camera-acquired digitalimage and/or a derivative thereof, so as to determine a sequence ofcharacters appearing on the container; d. control circuitry forresponding to a detected event by causing the ink-jet printer to print agiven digital image on an upper surface of the current drink, whereinthe control circuitry responds to the results of OCR analysis so as toallow or forbid inkjet printing of the given digital image on the uppersurface of the current drink.

In some embodiments, further comprising: analysis circuitry forcomputing a relation between sequence of characters and the givendigital image, wherein the control circuitry allows or forbids theinkjet printing in response to the output of the analysis circuitry andaccording to the computed relation between: the OCR-determined sequenceof characters; and the digital image.

A drink-printing system comprising: a. an ink-jet printer defining atarget-location; b. one or more camera(s) for imaging a current drinkthat is currently at the target location so as to generate acamera-acquired digital image; c. an optical character recognition (OCR)module for subjecting, to an OCR analysis, the camera-acquired digitalimage and/or a derivative thereof, so as to determine a sequence ofcharacters appearing on the container; d. a mapped drink-code databasefor storing a mapping between (i) a plurality of drink codes and (ii) arespective pre-stored digital print-image; e. a user interface fordisplaying a menu of the drink codes and for receiving a user-selectionof one of the menu-displayed drink-codes; f. control circuitry forresponding to a detected event by causing the ink-jet printer to print,on an upper surface of the current drink, the pre-stored digital imagethat is mapped to the user-selected drink-code within the mappeddrink-code database; and g. text-processing circuitry for computing arelationship between the user-selected drink-code and theOCR-module-determined sequence of characters; and wherein the controlcircuitry allows or forbids the inkjet printing according to a computedrelation between: the OCR-determined sequence of characters; and thedigital image.

In some embodiments, the relation between the user-selected drink-codeand the OCR-module-determined sequence of characters is a text-matchrelation.

In some embodiments, i. the system further comprising a code server forresponding to an upload of a digital image from a client device byupdating the mapped drink-code database so as to associate the uploadeddigital image with one of the drink codes; ii. the relation between theuser-selected drink-code and the OCR-module-determined sequence ofcharacters is a relation between: an identifier of the client device orof a user thereof; and the OCR-module-determined sequence of characters.

A drink-printing system for printing on a current drink comprising: a.an ink-jet printer defining a target-location; b. one or more sensor(s)for sensing property-data of a current drink that is currently at thetarget location, the property data describing property(ies) of contentsand/or the container of the current drink; d. a mapped drink-codedatabase for (i) storing a plurality of drink codes and (ii) mappingeach drink code to: a respective pre-stored digital image; respectivepre-stored drink property-data; e. a user interface for displaying amenu of candidate drink codes; and f. control circuitry for respondingto a detected event by causing the ink-jet printer to print, on an uppersurface of the current drink, the pre-stored digital image that ismapped to the user-selected drink-code within the mapped drink-codedatabase, wherein the control circuitry allows or forbids the inkjetprinting according to a match between: A. the sensed property-data ofthe current drink; and B. pre-stored drink property-data that is mapped,within the drink-code database, to the user-selected drink-code.

A method of providing a customized drink, the method comprising: a.maintaining, in computer memory, a code-image map between drink-codesand digital graphical images; b. in response to an uploading of adigital graphical image, updating the code-image map to include amapping between the uploaded digital graphical image and a givendrink-code; c. causing a multi-code menu of a user-interface to displaythe given drink-code, the user-interface being mechanically associatedwith an inkjet-based drink-printing machine and/or in local electroniccommunication therewith; and d. when a current drink is disposed beneathink-jet nozzles of the inkjet-based drink-printing machine, respondingto a user-selection of the given drink-code by causing thedrink-printing machine to ink-jet print, on an upper surface of thecurrent drink, the digital image that is mapped, to the user-selecteddrink-code, within the mapped drink-code database.

In some embodiments, the digital graphical image is uploaded from aclient terminal, and in response to the image-uploading, the givendrink-code is sent to the client terminal.

In some embodiments, the multi-code menu displays the given drink-codein response to at least one of: (i) a geographic proximity between theclient terminal and the drink-printing machine; (ii) a reading of datafrom the client-device, the read data including one of: (i) the givendrink code; and (ii) data associated with the given drink code within adigital computer in communication with an electronic device hosting themulti-code menu.

In some embodiments, the drink-code is generated in response to theuploading of the digital graphical image.

In some embodiments, the drink-printing machine prints the digitalgraphical image on a foamed or frothed surface of a beverage selectedfrom the group consisting of a beer and a coffee.

In some embodiments, i. the method further comprises:

before printing on the upper surface of the current drink: A. opticallyimaging a container of the current drink; B. subjecting an electronicrepresentation of the optically-imaged container to OCR-analysis so asto determine characters appearing on the container of the current drink;and ii. the drink-printing machine automatically responds to theresponds to the results of the OCR-analysis so as to allow or forbidinkjet printing of the given digital image on the upper surface of thecurrent drink.

In some embodiments, i. the method further comprises: before printing onthe upper surface of the current drink: A. employing a sensor to senseproperty-data of the current drink; B. analyzing the property data; andii. the drink-printing machine automatically responds to the responds tothe results of the analyzing so as to allow or forbid inkjet printing ofthe given digital image on the upper surface of the current drink.

A drink-printing system for comprising: a. an ink-jet printer defining atarget-location; b. one or more camera(s) for imaging a current drinkthat is currently at the target location so as to generate acamera-acquired digital image; c. an optical character recognition (OCR)module for subjecting, to an OCR analysis, the camera-acquired digitalimage and/or a derivative thereof, so as to determine a sequence ofcharacters appearing on the container; d. control circuitry forresponding to a detected event by causing the ink-jet printer to print agiven digital image on an upper surface of the current drink, whereinthe control circuitry responds to the results of OCR analysis so as toallow or forbid inkjet printing of the given digital image on the uppersurface of the current drink.

In some embodiments, further comprising: analysis circuitry forcomputing a relation between sequence of characters and the givendigital image, wherein the control circuitry allows or forbids theinkjet printing in response to the output of the analysis circuitry andaccording to the computed relation between: the OCR-determined sequenceof characters; and the digital image.

A drink-printing system comprising: a. an ink-jet printer defining atarget-location; b. one or more camera(s) for imaging a current drinkthat is currently at the target location so as to generate acamera-acquired digital image; c. an optical character recognition (OCR)module for subjecting, to an OCR analysis, the camera-acquired digitalimage and/or a derivative thereof, so as to determine a sequence ofcharacters appearing on the container; d. a mapped drink-code databasefor storing a mapping between (i) a plurality of drink codes and (ii) arespective pre-stored digital print-image; e. a user interface fordisplaying a menu of the drink codes and for receiving a user-selectionof one of the menu-displayed drink-codes; f. control circuitry forresponding to a detected event by causing the ink-jet printer to print,on an upper surface of the current drink, the pre-stored digital imagethat is mapped to the user-selected drink-code within the mappeddrink-code database; and g. text-processing circuitry for computing arelationship between the user-selected drink-code and theOCR-module-determined sequence of characters; and wherein the controlcircuitry allows or forbids the inkjet printing according to a computedrelation between: the OCR-determined sequence of characters; and thedigital image.

In some embodiments, the relation between the user-selected drink-codeand the OCR-module-determined sequence of characters is a text-matchrelation.

In some embodiments, wherein: i. the system further comprising a codeserver for responding to an upload of a digital image from a clientdevice by updating the mapped drink-code database so as to associate theuploaded digital image with one of the drink codes; ii. the relationbetween the user-selected drink-code and the OCR-module-determinedsequence of characters is a relation between: an identifier of theclient device or of a user thereof; and

the OCR-module-determined sequence of characters

A printing device for printing on a current drink comprising: a. a trayupon which the current drink rests; b. an ink-jet printer to downwardlyink-jet droplets of ink towards the tray to print an image on the drinksupported by the tray; c. a display-screen; d. one or more sensor(s) foracquiring current-drink property-data describing the current drinkcurrently supported by the tray; e. a mapped drink-code databasespecifying a map for a plurality of drink-printing codes, between: i.each displayed drink-printing code of the plurality of drink-printingcodes; and ii. a respective combination of (i) a respectivedrink-printing-code-specific target-image to be printed by the ink-jetprinter; and (ii) respective drink-printing-code-specific target-drinkproperty-data describing contents of a respective target-drink and/orits container; f. analysis circuitry for computing a drink-matchparameter between: i. property-data of the current drink sensed by thesensor(s) and ii. property-data of one or more of the target drinksspecified by the database; g. a user-interface for: i. displaying adrink-property-heterogeneous menu comprising the plurality ofdrink-printing codes on the display-screen; and ii. receiving auser-selection of one of the drink codes to thereby user-specify,according to the mapped drink-code database, a target-image andtarget-drink property-data; h. a device controller for responding to theuser drink-code selection, in accordance with content of the mappeddrink-code database, output of the sensor(s) and output of the analysiscircuitry, by printing the user-interface-specified target-image onto anupper surface of the current drink in a manner that is contingent uponthe drink-match parameter that is specific to the combination of: i. theuser-specified target-drink property-data as specified via theuser-interface; ii. the current drink property-data as sensed by thesensor(s).

In some embodiments, the sensor is an image sensor configured to acquirea digital image of an outer wall of a container of the current drinkresting on the tray. In some embodiments, the analysis circuitry isconfigured to subject the acquired digital image tooptical-character-recognition (OCR) analysis derive therefrom thetarget-drink property-data.

A printing device for printing on a current drink comprising: a. a trayupon which the current drink rests; b. an ink-jet printer to downwardlyink-jet droplets of ink towards the tray to print an image on the drinksupported by the tray; c. a display-screen; d. a mapped drink-codedatabase specifying a map for a plurality of drink-printing codes,between: i. each displayed drink-printing code of the plurality ofdrink-printing codes; and ii. a respective combination of (i) arespective drink-printing-code-specific target-image to be printed bythe ink-jet printer; and (ii) respective drink-printing-code-specifictarget-drink property-data describing a contents of respectivetarget-drink and/or its container; e. a user-interface for: i.displaying a menu comprising the plurality of drink-printing codesdrink-property-heterogeneous on the display-screen such that each drinkcode is displayed in a manner specific to the respective target-drinkproperty-data associated therewith; and ii. receiving a user-selectionof one of the drink codes to thereby user-specify, according to themapped drink-code database, a target-image; f. a device controller forresponding to the user drink-code selection, in accordance with contentof the mapped drink-code database, output of the sensor(s) and output ofthe analysis circuitry, by printing the user-interface-specifiedtarget-image onto an upper surface of the current drink.

A method of providing a customized drink by a plurality ofdrink-manufacturing machines, each drink-manufacturing machine deployedat a different respective location and including and/or being locallycoupled to a different respective display-screen, the method comprising:a. maintaining, in computer memory, a code-image map between codeimage-keys and digital graphical images b. in response to an uploadingfrom a user-terminal, of a digital graphical image or a specificationthereof: A. updating the code-image map to include a mapping between (i)a code-image key specific to the digital graphical image and (ii)uploaded digital graphical image of specification thereof and optionallyan identifier of the user-terminal; and B. sending the code image key tothe user terminal; c. monitoring a location of the user-terminal; d. inaccordance with the results of the monitoring, sending menu-commandinformation to each of the drink-manufacturing machines to regulate thecontents of a code-menu on each of the drink-manufacturing-machine-localscreens such that: i. in response to a decrease in a distance betweengiven one of the user terminals and a given one of thedrink-manufacturing machines, adding or promoting a code image-keyresident in the user terminal to or within a menu of the given one ofdrink-manufacturing machines; and ii. in response to an increase in adistance between given one of the user terminals and a given one of thedrink-manufacturing machines, removing or demoting a code image-keyresident in the user terminal from or within a menu of the given one ofdrink-manufacturing machines; and e. for each of the drink manufacturingmachines, in response to a user-selection of one of the drink codes,printing on a drink its associated a target-image as defined by the acode-image map.

A method of providing a customized drink, the method comprising: a.maintaining, in computer memory, a text-image map between textualimage-keys and digital graphical images; b. in response to an uploadingof a digital graphical image, updating the text-image map to include amapping between the uploaded digital graphical image and amachine-generated textual image-key for the uploaded graphical image; c.receiving, via user-input device of an order-generatingcomputer-terminal, both a drink description and a user-supplied textualimage-key; d. electronically sending, from the order-generatingcomputer-terminal to one or more production machines of adrink-production machine-array, a text-hybrid of the (i) a drinktext-code matching the drink description and (ii) the user-suppliedtextual image-key; e. visually displaying. on a display-screen of one ormore drink-production machines, the text-hybrid; f. responding to a userinput: (i) to one or more of the drink-production machines and (ii) ofdata matching the drink-text-code of the textual-hybrid, byelectronically generating a drink that matches the drink-text-code; andg. responding to a user input (i) to one or more of the drink-productionmachines and (ii) of data matching the user-supplied textual image-keyof the textual hybrid, by printing on the drink and in edible-media, thedigital graphical image that matches, according to the text-image map,the user-supplied textual image-key.

A printing device for printing on a current drink comprising: a. anink-jet printer defining a target-location; b. one or more sensor(s) forsensing property-data of a current drink that is currently at the targetlocation, the property data describing property(ies) of contents and/orthe container of the current drink; d. a mapped drink-code database for(i) storing a plurality of drink codes and (ii) mapping each drink codeto: a respective pre-stored digital image; respective pre-stored drinkproperty-data; e. a user interface for displaying a menu of candidatedrink codes; and f. control circuitry for responding to a user-selectionof one of the displayed candidate drink codes by triggering a printoperation to cause the ink-jet printer to print, on an upper surface ofthe current drink, the pre-stored digital image that is mapped to theuser-selected drink-code within the mapped drink-code database; and g.analysis circuitry for determining if there is a match between (i) thesensed property-data of the current drink; and (ii) pre-stored drinkproperty-data that is mapped, within the drink-code database, to theuser-selected drink-code, wherein the control circuitry responds tooutput of the analysis circuitry by requiring the match in order totrigger the print operation.

A printing device for printing on a current drink comprising: a. anink-jet printer defining a target-location; b. one or more camera(s) forimaging at least a portion of container of a current drink that iscurrently at the target location so as to generate a camera-acquireddigital image; c. an OCR module for analyzing at least one of: i. thecamera-acquired digital image; and ii. a derivative thereof, so as todetermine a sequence of characters appearing the container; d. a mappeddrink-code database for storing a mapping between (i) a plurality ofdrink codes and (ii) pre-stored digital print-images; e. a userinterface for displaying a menu of the drink codes; and f. controlcircuitry for responding to a user-selection of one of themenu-displayed drink codes, only if the selected drink-code matches thesequence of characters, by causing the ink-jet printer to print, on anupper surface of the current drink, the pre-stored digital print-imagemapped to the user-selected drink-code.

A printing device for printing on a current drink comprising: a. anink-jet printer defining a target-location; b. one or more sensor(s) forsensing property-data of a current drink that is currently at the targetlocation, the property data describing property(ies) of contents and/orthe container of the current drink; d. a mapped drink-code database for(i) storing a plurality of drink codes and (ii) mapping each drink codeto: a respective pre-stored digital image; respective pre-stored drinkproperty-data; e. a user interface for displaying a menu of candidatedrink codes; and f. control circuitry for responding to a user-selectionof one of the displayed candidate drink codes by causing the ink-jetprinter to print, on an upper surface of the current drink, thepre-stored digital image that is mapped to the user-selected drink-codewithin the mapped drink-code database; and g. analysis circuitry fordetermining if there is a match between (i) the sensed property-data ofthe current drink; and (ii) pre-stored drink property-data that ismapped, within the drink-code database, to the user-selected drink-code,wherein the control circuitry responds to output of the analysiscircuitry so that a positive determining by the analysis circuitry isrequired for the control circuitry to cause the ink-jet printer toprint, on the upper surface of the current drink, the pre-stored digitalimage that is mapped to the user-selected drink-code.

A printing device for printing on a current drink comprising: a. anink-jet printer defining a target-location; b. a mapped drink-codedatabase for storing (i) storing a plurality of drink codes and (ii) amapping of each drink code to: a respective pre-stored digital image;and respective pre-stored drink property-data, the property datadescribing property(ies) of contents and/or a container of a candidatedrink; c. a user interface for displaying a menu of candidate drinkcodes such that each drink code is displayed in a manner specific to therespective pre-stored drink property-data mapped thereto in the mappeddrink-code database; and d. control circuitry for responding to auser-selection of one of the displayed candidate drink codes by causingthe ink-jet printer to print, on an upper surface of the current drink,the pre-stored digital image that is mapped to the user-selecteddrink-code within the mapped drink-code database.

A printing device for printing on a current drink comprising: a. anink-jet printer defining a target-location; b. a mapped drink-codedatabase for storing (i) storing a plurality of drink codes and (ii) amapping of each drink code to: a respective pre-stored digital image;and respective pre-stored drink property-data, the property datadescribing property(ies) of contents and/or a container of a candidatedrink; c. a user interface for displaying a menu of candidate drinkcodes such that each drink code is displayed in a manner specific to therespective pre-stored drink property-data mapped thereto in the mappeddrink-code database; and d. control circuitry for responding to auser-selection of one of the displayed candidate drink codes by causingthe ink-jet printer to print, on an upper surface of the current drink,the pre-stored digital image that is mapped to the user-selecteddrink-code within the mapped drink-code database.

BRIEF DESCRIPTION

FIGS. 1, 2, 9A-9B, 10, 12A-12C describe a drink printing system orportions thereof.

FIGS. 3, 4, 5A-5C, 6A-6C describe use case B.

FIGS. 7A-7D describe used case C.

FIGS. 8A-8B, 11 and 13A-13B are flow charts of methods according to someembodiments of the invention.

FIGS. 14-16, 17A-17C, 18A-18C, 19A-19B and 20A-20B describe additionalexamples.

DETAILED DESCRIPTION Definitions

Within this application the following terms should be understood to havethe following meaning:

A) drink—contents (i.e. including a fluid) within a container,preferably having an upper surface that is foamed and/or frothed. Theterm ‘drink’ or ‘beverage’ are used interchangeably. Examples of‘drinks’ or ‘beverages’ include but are not limited to (i) ‘coffee’ andvariations thereof (e.g. cappuccino) and (ii) beer. The container mayhave a generally cylindrical form-factor and may be, for example, a‘cup’ or a ‘glass.’ A ‘drink’ includes both (i) contents of the drinkand/or (ii) a container in which the material resides. A ‘size’ of thedrink may relate to any combination of (i) a ‘height’ of the drink’ or(ii) a measure of a rim of the container—.e.g. a circumference or adiameter or a radius.

B) drink-printing machine’—a machine including an ink-jet printer andconfigured to print designs (e.g. including photographs or othergraphics) onto an upper surface of a drink. In some embodiments, thedrink-printing machine includes a reservoir of edible ink—e.g.coffee-based (e.g. for printing on coffee-based beverages) or malt-based(e.g. for printing on beer). As is known in the art of ink-jet printing,the drink-printing machine

C) ‘electronic circuitry’ or ‘circuitry’—any hardware (e.g. digitaland/or analog electronics), or software or combinations thereof. In someembodiments, ‘circuitry’ includes a digital computer. “Analysiscircuitry” is electronic circuitry configured to perform a data-analysisfunction. “Memory” or ‘storage” (used interchangeably) refers tovolatile (e.g. RAM) and/or non-volatile (e.g. flash or magnetic medium)computer storage. “Circuitry” or ‘memory” may be local to a given device(or locally-coupled devices) or may be non-locally distributed.

D) A device controller—any combination of electronic components,software components and/or mechanical components required to perform afunction—e.g. to cause an ink-jet printer to print a specific pattern onan upper surface of a specific drink.

E) a drink-generating machine—a machine for providing a drink within acontainer. For example, the drink-generating machine may be a simpledispenser or may be configured to dispense multiple ingredients atrelative quantities or at specific temperatures. In some embodiments, adrink-generating machine may include a frother or may be configured toagitate liquids to form (or modify) bubbles and/or foams therefrom.

F) A drink production machine is either a ‘drink-generating machine’ ora ‘drink-printing machine” or a hybrid therebetween. A ‘hybrid’ may be asingle machine configured to both ‘provide’ (e.g. generate) the drinkand to print on an upper surface of the drink.

G) a ‘machine-user’—this is a user of a drink-production machine—e.g. abarista. The ‘machine-user’ is not required to be the same person as theend-customer (i.e. who will consume the drink). Unless specifiedotherwise (or clear otherwise from the context), a‘user’ refers to a‘machine-user.’

H) user-terminal—a digital computer device operated by a user—typicallyhaving an input device (e.g. keyboard or touch-screen) a display screenand a communication module (e.g. WiFi or cellular). One example of a‘user-terminal’ is a mobile phone—e.g. a cell phone.

I) a ‘code’ or ‘drink code’ or ‘drink-code’—a series of symbols—e.g.displayed horizontally in spatial sequence. One example of a ‘code’ is a‘textual code’ (e.g. comprising letters and/or calligraphy (e.g. Chineseor Japanaese or Korean) characters for far-Eastern languages) and/ornumbers and/or punctuation symbols. However, the code may also includeemoticons or other symbols.

As discussed below, the drink-code may explicitly appear on a userinterface and a user engagement of the drink-code may thus specify theimage that the user wishes to print.

Wikipedia defines “Alphanumeric” as a combination of alphabetic andnumeric characters, and is used to describe the collection of Latinletters and Arabic digits or a text constructed from this collection.The term “alphanumeric” may often additionally refer to other symbols,such as punctuation and mathematical symbols. The terms “alphanumerical’and ‘textual’ are used interchangeably.

In embodiments, a ‘code’ or ‘drink code’ is an alphanumeric drink code,either excluding or including punctuation, either excluding or includingmathematical symbols.

A plurality of codes may be presented in a user interface (e.g. as amenu of codes) and user-engagement of one of the codes causes theprinting on a drink upper-surface of an associated or mapped image. Inthis manner, a code functions as a ‘key’ for the mapped image. Thus, ifa code may function as an ‘image key’.

J) a subset—as is known in mathematics, a set is a subset of itself. Ifthe ‘subset’ does not include all elements of the set, the ‘subset’ is a‘proper subset.’ For the present document, a null set (or empty set) isnot considered a ‘subset.’ A ‘plurality of items’ is one example of a‘set’ of items.

K) ‘Drink printing machines’ typically include a platform (e.g. a tray)where one or more drinks may be placed. For example, this tray may beoperatively coupled to an elevator for raising or lowering the tray—e.g.towards a print-head of an ink-jet printer. A ‘current drink’ is a drinkin a position to have a design printed on an upper surface of thedrink—e.g. a drink within a container resting on an elevatable tray of adrink printing machine.

L) “User interface” In some embodiments, a drink printing machineincludes a ‘user interface’ (e.g. GUI) operative to receive user inputand to print a pattern onto a drink in response to the user input. Forexample, there may be a plurality of ‘candidate patterns’ or ‘candidateimages’ that could be printed onto drinks—e.g. stored in memory of thedrink. In response to and based upon input received by a user via theuser interface, the drink machine may print a selected one of thepatterns or images upon a surface of a ‘current drink.’

As mentioned above, the drink-codes may explicitly appear on a userinterface and a user e7ngagement of the drink-code may thus specify theimage that the user wishes to print. For example, the drink printmachine may include and/or be operatively linked to a user interface forselecting a one of the patterns (e.g. images or photographs toprint)—e.g. a menu of drink codes may be displayed and the user mayselect one of the codes.

The drink-code may be associated (e.g. in some sort of map ordata-structure) with an image to print—thus, by selecting a ‘drink code’the user implicitly selects or ‘specifies’ an image to print.

M) “Target” (e.g. ‘target image’ or ‘target drink’)—When a user selectsan image to print, this is a ‘target image.’ In some embodiments, thetarget image may be associated (i.e. in computer storage) with meta-datadescribing the ‘target drink’ to which the ‘target image’ is to beprinted. For example, at some point a customer and/or user and/ormachine and/or any other entity may specify “Print abc.jpeg to a largecappuccino.” In this case, the ‘target image’ is acb.jpeg and ‘largecappuccino’ is the target drink. In this example, if a ‘target image’ isassociated with the ‘large cappuccino’ metadata then when the user‘specifies’ (e.g. by selecting a drink-code from a menu where theselected drink-code is associated with the “target image’) a targetimage, the user also implicitly selects a ‘target drink’—e.g. that it isintended to print abc.jpeg onto a large cappuccino and not onto a beeror a small cappuccino.

N) ‘drink property data’ describes one or more of (i) contents of adrink and/or (ii) the container in which the drink resides. Examples ofdrink-contents properties include but are not limited to type of drink(i.e. alcoholic vs. non-alcoholic, coffee vs beer vs wine (e.g.sparkling wine)), temperature of the drink, properties (e.g.concentration, particle-size distribution) of particles within thedrink, property(ies) of froth or foam at an upper surface of the drink(e.g. foam thickness, bubble size, viscosity, color), and drink color.Examples of drink-container property include (i) size of the drinkcontainer; (ii) symbols or codes or drawings or text on the drinkcontainer (e.g. drink sidewall); (iii) color of the drink container. Forany embodiment referring to a ‘drink property,’ (i.e. generically), thedrink property may in any embodiment refer to any specific drinkproperty described herein.

In one specific example, the ‘analysis circuitry’ may, for example,compute a ‘size’ of the drink by edge detection—e.g. by a camera viewingthe rim of the beverage container from above.

I) “Current drink property data’ versus ‘target drink property data’—

-   -   I1) One example of ‘drink property data’ is ‘current-drink        property data’ relating to a drink currently supported by a        platform (e.g. elevatable tray) of the drink printing        machine—current-drink property data may be sensed by a sensor        (e.g. camera, weighing scale, chemical sensor, optical device        other than a camera, thermometer (e.g. infra-red based) etc).    -   I2) Another example of ‘drink property data’ is ‘target        drink-property data.’ Thus, if before the printing (e.g. and        before the ‘user’ selection of a drink-code)) a drink-code        and/or a drink-image may be associated (e.g. within the ‘menu’        presented on the screen) with a specific ‘target drink.’ For        example, a customer may request to print a certain ‘selfie’ or        other photograph onto a cappuccino drink. As discussed below,        this request may come in stages—in one example, first the        customer uploads the image or a specification thereof and only        later does the customer specify the ‘cappuccino.’ In this        example, a retail establishment (e.g. restaurant) may process        different types of drinks on a single drink printer—i.e. the        drink printer may be used both to print on coffee or on beer, or        on different ‘types’ of drink beverages.

Thus, in this example, once a ‘large cappuccino’ is specified as a‘target drink,’ the known properties (i.e. exactly or approximately) maybe available in memory or storage—e.g. the size of the ‘target drink,’chemical properties of the target drink (e.g. beer vs. coffee, etc),symbols or codes that are excepted to appear on a surface of containerof the target drink (e.g. it is expected to write the word ‘cappuccino’on the sidewall of the cup), etc—all of these are examples of ‘targetdrink properties’ “Target drink properties’ may be properties of thecontent of the ‘target drink’ of the container.

As discussed below with reference to FIG. 13A, the target drinkproperties may be compared to ‘current drink’ properties before printingto make sure that the intended (or ‘target’) pattern is printed on thecorrect drink (i.e. and not ‘accidentally printed on the ‘wrong drink’).

H) a ‘drink-match parameter’ describes whether or not two drinks are thesame and/or the likelihood that they are the same. It can also describea similarity between two drinks. In one example, the ‘drink-matchparameter’ has a value 0 and 1 where ‘0’ is a ‘bad match’ and 1 is a‘perfect match.’ In this example, a ‘drink-match parameter’ between a‘small capuccino’ and a large beer is 0.001; a ‘drink-match parameter’between a ‘small capuccino’ and a large capuccino’ is 0.6 and a‘drink-match parameter’ between a ‘small capuccino’ and a mediumcapuccino’ is 0.8.

I) “Imaging a drink’” (e.g. current drink) may refer to any of thefollowing: imaging the entire drink, imaging a portion of the drink,imaging the drink's container, imaging a portion of the drink'scontainer

The closer the value to 1 the more likely there is a match.

FIG. 1 illustrate a drink-printer device 400 operative to print designs(i.e. by droplet-deposition) on a surface of a beverage within beveragecontainer 490 (e.g a cup). The printer device comprises a housing, acartridge portion 420 within the housing, and a tray 470 (e.g.vertically elevatable to move up and down). As shown in FIG. 1, thehousing drink printer 400 includes an upper horizontal portion 430 abovethe beverage container 490 (i.e. when on tray 470), a lower horizontalportion 440 below container 490 and/supporting container 490, and avertical connecting housing element 450 (e.g. supporting upperhorizontal portion 430). For example, when the printer begins the printfirst container 490 is lifted up towards nozzle(s) of cartridge 430 byvertical motion of tray 470—e.g. the container 490 may be lifted by atleast 5 cm or at least 10 cm

The drink-printer device 400 (e.g. thermal ink-jet device) comprises acartridge port 420. Removable cartridge (e.g. comprising a reservoir ofedible ink—e.g. coffee based) is deployed to cartridge port 420. In someembodiments, drink printer 400 is a thermal inkjet printer. The downwardblock arrow in FIG. 1 represents ink droplet deposition to form apattern on an upper surface of the beverage within container 490. Theterm ‘drink printer’ is a device to form a pattern on a surface of abeverage by droplet deposition. Typically, drink printers are configuredso that the pattern is formed by lateral and longitudinal movement ofink-deposition nozzles (e.g. of cartridge 430). In some embodiments, thepattern applied to the upper surface of the beverage is formed solely bylateral and longitudinal motion of the nozzles while beverage (andcontainer 490) are held stationary. The skilled artisan is referred toPCT/IL06/00851 filed 23 Jul. 2006 which published as WO2007013061,incorporated by reference in it's entirety. Different embodiments relateto any feature (or combination of features) combined with any feature(or combination features) disclosed in the present document.

Device 400 also includes display screen 260 (e.g. ‘touchscreen’)—e.g.deployed to and/or embedded within a housing of the drink printer 400(e.g. upper portion 430 of the housing—e.g. an upper surface of upperportion 430). In some embodiments, screen 230 is slanted. The screen 260has a user interface.

For example, a plurality of codes (e.g. textual codes) are displayed(e.g. simultaneously displayed) where each code is associated with adifferent image to print onto the beverage. Thus, in one example (seeFIG. 10), when the user engages code AD34 a first image (e.g. first.gif) is printed—e.g. a picture of an animal, when the user engages asecond code 9ZA2 a second image (e.g. a second .gif) is printed (e.g.the script/cursive words “Printed Design”) is printed, and so on.

Towards this end, some sort of mapping is electronically stored (e.g. ina location that is ‘local’ to printer 320 or in any other location).This map is between digital graphical images and codes (e.g. textualcodes). The term ‘graphical image’ is used broadly to refer to imagesgenerated by computer graphics, photographs, text, or other content—a‘graphical image’ may be provided as a .gif file, a .jpeg file, a .tifffile, a .pdf file, or any other data-object known in the art.

FIG. 3 illustrates a system where user(s) specify a desired image toprint on a beverage using a client device 100. In one example, a menu ofimages may be displayed on a screen of client device. In anotherexample, client device may include some sort of image-generatingsoftware for generating an image on the client device. In anotherexample, client device may include an onboard camera (not shown) foracquiring an image of a scene. The image (or a specificationthereof—e.g. the user selects an image from a plurality of digitalgraphical images located in the cloud) is uploaded to code server(s) 200which assigns and/or maps a code (e.g. textual code) to the image to‘specify an association’ (or mapping) between the textual code (e.g.generated by code server) and the user-provided (or specified) imageprovided and/or specified by client device 100. Optionally, code server200 sends the code back to client device 100.

Code Server 200(s) may send code/image mapping (or ‘association’) datato drink printer 320 to electronic circuitry. For example, if a new codeis generated by code server(s) and associated with the digital graphicalimage, code server(s) 200 may send a specification of a mapping betweenthe digital graphical image (e.g. there may be a pre-determined bank ofN images stored locally at drink printer 320 and the ‘specification’ mayrelate to ‘Image number 262’) and the textual code. In some embodiments,the actual image (e.g. a digital image) is sent from client device 100to electronic circuitry and/or GUI manager 300 9 e.g. by or via codeserver 200).

“Electronic circuitry” may include any software/executable code module(i.e. stored on a computer-readable medium) and/or firmware and/orhardware element(s) including but not limited to field programmablelogic array (FPLA) element(s), hard-wired logic element(s), fieldprogrammable gate array (FPGA) element(s), and application-specificintegrated circuit (ASIC) element(s). Any instruction set architecturemay be used including but not limited to reduced instruction setcomputer (RISC) architecture and/or complex instruction set computer(CISC) architecture.

Thus, client device 100 specify digital images (e.g. according to userinput) and subsequently (e.g. in response) a code ‘matching’ the digitalimage appears on display screen 260. The mapping between the image andthe code (e.g. textual code) may be generated by coder server(s) 200.

Use Case A

In one use case, a user (“Robert”) is in a coffee shop with his/herspouse and wants to print a photograph of the user together with his/herspouse on their drinks. The user operates client device 100 to specifythe image to upload the photograph to code server(s) 200 which assigneda code (e.g. textual code) to the photograph image and sends thephotograph along with the ‘association data’ to GUI manager 330. At thattime, the text (“XYZ” for this example) appears (e.g. in response to theuploading of the photograph by client device 100) on the screen 260 ofdrink printer device 400.

At a later time, the user verbally places his/her order at the cashierwithin the coffee shop—he orally tells the cashier that s/he wants alarge cappuccino and shows the display screen of his/her client device100 which displays the code mapped to the image (e.g. the photograph ofthe two spouses) that was received by code server(s) 200.

The cashier then takes a disposable cup and on the outside of the cupwrites “Robert” and “Large Cappuccino” and “XYZ”) on the outside of thecup which is handed to the barista. The barista operates both drinkmanufacturing machine 310 (e.g. a coffee machine) which dispenses thecontents of the drink into the container 290 and drink printer 400.First the barista reads the words Large Cappuccino on the cup andproduces (using machine 310) a large cappuccino. Then the barista readsthe text code “XYZ” and selects (e.g. from the menu of display screen260) the “XYZ” option. When the user selects XYZ using the GUI ofprinter 400 the machine then prints the photograph of Robert and his/herspouse.

Another customer in the coffee shop named “Steve” may, at the same timethat Robert uploads the photograph of him with his spouse, specify a‘Lion King’ image from a bank of images stored in the crowd. Steve wouldreceive a different code (e.g. “ABC”) which would be mapped to the “LionKing” image (and not to the picture of Robert with his spouse). Inresponse to Steve specifying the lion code image (i.e. uploading aspecification of this image), the code “ABC” appears on the menu ofdisplay screen 260. Steve wishes to order a hot chocolate beverage.Steve simply tells the cashier that he desires a hot chocolate andspecifies “ABC”—the cashier than writes on the cup “Steve” and “HotChocolate” and “ABC”) on the outside of the cup which is handed to thebarista. Because there is mapping/association data between the “ABC” andthe lion king, when the barista engages the “ABC” on the screen 260, theLion King Image will print. Thus, in this example, when the baristareceives the cup it will be clear that s/he needs to generate a hotchocolate using production machine 310 and then select the ‘ABC’ code toprint the image on printer 340.

From this simple use case we see that in a retail environment (e.g. frommany customer, each specifying his/her own customized drink) where thereare multiple types of drinks generated by production machine 310, use ofthe text code helps the staff print the ‘correct image’ on the ‘correctdrink.’

In the above example, there was no need for client device 100 to specifythe contents of the drink—only the image. In other examples, clientdevice 100 may specify the contents of the drink (i.e. the s/he wants acappuccino or a hot chocolate)—for example, if production machine 310and printer 340 are integrated into a single machine, the cashier wouldjust write “Robert XYZ” on the cup and the barista would just select the“XYZ” option. In this example, the code “XYZ” would map both to thecontents of the drink and to the image (e.g. Lion King image).

Use Case B (FIGS. 3-6)

This case relates to a chain of coffee shops having branches in variousgeographic locations. As shown in FIG. 4 this may include branch A 398Ain New Jersey, branch B 398B in downtown (i.e. North) Manhattan andbranch C 398C in Queens.

Each branch has its own set of one or more drink printer(s) therein. InFIG. 3, the user uploads and/or specifies an image to print (e.g. “Ilove you” in a heart) and mapping server 200 assigns code “Q” to theimage specified via Client Device 100. Optionally, the code ‘Q’ is sentto client device 100.

As shown in FIG. 5A, the user is in uptown Manhattan at the time theimage is uploaded and/or specified at time t1.

At a later time t2 (FIG. 5B) the user drives to the New Jersey branch—inresponse to the user going into geographic proximity with the Branch A398A, code “Q” appears on GUI of printer 400A in Branch A 398A (e.g. onscreen 260 of printer 400A) and the ‘mapping data’ between the image(e.g. “I love you” in the heart) provided by device 100 at time t1 isavailable at time t2 to printer 400A in branch 398A. Thus, at time t2 ifan operator selects code “Q” in branch A 398A the image “I love you in aheart” is printed onto the drink—however, at time t2 the code “Q” eitherdoes not appear on the display screen of printers 400B-400C in branches398B-398C or is mapped to a different image.

As shown in FIG. 5C, at a later time t3 the user may not purchase thedrink in ‘branch A” and may instead travel to ‘branch B”—at this timet3, the code ‘Q” is either not available on the menu/GUI in ‘branch A’398A or mapped to a different image. At this time t3, if an operatorselects code “Q” in branch B 398B the image “I love you in a heart” isprinted onto the drink.\

FIGS. 6A-6C illustrate the GUI/menus (e.g. on screens 260 of drinkprinters 400A, 400B and 400C respectively) at times t1-t3. Thus,initially, the ‘Q’ code does not appear on any menu. In FIG. 6B, inresponse to the user travelling to the vicinity of branch A 398A, the“Q’ code of the user appears on the menu in “Branch A” 398A only (and ismapped to the ‘I love you image” only for the printers in branch A400A). In FIG. 6C, in response to the user travelling to the vicinity ofbranch B 398B, the “Q’ code of the user appears on the menu in “BranchB” 398B only (and is mapped to the ‘I love you image” only for theprinters in branch B 400B).

In one implementation, when the user uploads and/or specifies the imagein FIG. 3, an identifier of the user's specific client device 100 or ofa “SIM” thereof is also mapped to the image and the text code. Forexample, in FIG. 3 the client device may have device ID “IDXYZ.” Thelocation of the device 100 (or SIM) can be tracked and when it isreported to ‘code server’ that device 100 having device ID “IDXYZ” is inthe ‘vicinity of branch A,’ the code ‘Q’ (i.e. which is associated withboth “IDXYZ” and the “I love you image”) is available on the GUI ofprinter 400A in branch A 398A and associated with the “I love youimage.”

Use Case C (FIGS. 7A-7D)

In this use case, there are two users—a first user having terminal 100Ain branch A 398A at time t1, and a second user having terminal 100B inbranch C 398C at time t1. As shown in FIGS. 7B-7C, the first user wishesto print a ‘happy birthday’ image and is provided with code “T”—thesecond user wishes to print an ‘I love you’ image and is provided withcode “T”—these are ‘clashing codes.’ Allowing for ‘Clashing codes’between different geographic locations/branches may be advantageousbecause this allows for shorter codes. As shown in FIG. 7D, the clashingcodes are handled according to geographical locations—in Branch A 398Aengagement of the “T” code will provided the happy birthday’ imagebecause the client device 100A is in branch A 398A, and in Branch C 398Cengagement of the “clashing” “T” code will provided the “I love you”image because the client device 100C is in branch A 398C—these imagesare specified and/or generated and/or uploaded by different clientdevices and this information is tracked and used to populate and/orspecify the image printed by a code of the GUI.

Thus, the ‘activity’ of the code ‘follows’ the client device 100 whichgenerates and/or specifies and/or uploads the image.

FIGS. 8A-8B

FIGS. 8A-8B are flow-charts of methods of operating drink printers andclient devices. Thus, in FIG. 8A, only if the client device 100 is‘local’ (e.g. according to geographic proximity—this can be pre-defined)to a drink machine does the code specified by client device 100 appearin the GUI of printer 400 (or appear as ‘mapped’ to the image specifiedby client device 100). Steps illustrated in FIG. 8A are S61, S65, S69and S73. In FIG. 8B, as the client device which specified the imagemoves into the vicinity of a printer 400, its code becomes availableand/or active on a display screen 260 thereof. Steps illustrated in FIG.8B are S81, S85, and S89.

A Discussion of FIGS. 9-11

In the example of FIGS. 9-11, the client device may also specifyinformation about the content of the drink itself. In one example,client device 100 would specify ‘Lion King Image’ on “hot chocolatedrink. Thus, comparing FIG. 9A to FIG. 2, in FIG. 9A the code isassociated with both a digital image to be printed and a description ofthe content of the drink. In the example of FIG. 9B, the content of theimage is specified by client device 100 (as in FIG. 2) but additionaldata about the ‘content of the drink’ is required to be provided nottogether with the ‘image data’ but in any manner.

Thus, mapping and/or association data between (i) a code (e.g. textcode) (ii) content of the drink and (iii) the image to be printed isavailable to a GUI manager. In the example of FIG. 10, the same drinkprinter is used to print both on coffee and on beer—it is desired toavoid situations where the barista would print on the ‘wrong drink.’Thus, if the user wishes to select code AD34, s/he would place the cupbeneath the nozzles of drink printer 400, and by engaging code ‘AD34’the image mapped to code ‘AD34’ would be printed. In a retail/restaurantenvironment when there is a need for a barista to print on manydifferent types of drinks (i.e. the same printer can be used to printboth on coffee and on beer) without ‘mixing up’ between drinks, the userinterface of FIG. 10 provides the following feature—if according to the‘specification of the content of the drink’ and the ‘digital image’ toprint (see FIGS. 9A-9B), a given image (i.e. according to the drinkorder) should be printed on coffee, the text code is circled with a‘solid line code’; if on the other hand according to the ‘specificationof the content of the drink’ and the ‘digital image’ to print (see FIGS.9A-9B), a given image (i.e. according to the drink order) should beprinted on beer, the text code is circled with a ‘broken line code.’

Thus, before selecting a particular code, the barista may check theactual drink beneath the nozzle (i.e. if it is beer or coffee)—if thedrink is coffee, the barista will be careful not to select a codecircled by a broken line and if the drink is beer, the barista will becareful not to select a code circled by a solid line.

FIG. 11 describes this process and includes steps S201, S205, S209 andS213. Thus, in step S209, the menu on screen 260 of printer 400 includesinformation describing an association between the code (e.g. text code)and the content of the drink where the image is to be printed (i.e. beervs. coffee). When a ‘drink order’ specifies a particular image (e.g. ‘Ilove you”) on coffee, the code (e.g. text-code) for the image appears onthe menu of screen 260 visually associated with a ‘coffee’ indicator(i.e. a rough description of the content of the drink—the coffeeindicator is circled by solid line). When a ‘drink order’ specifies aparticular image (e.g. ‘Happy Birthday”) on beer, the code (e.g.text-code) for the image appears on the menu of screen 260 visuallyassociated with a ‘beer’ indicator (i.e. a rough description of thecontent of the drink—the beer indicator is circled by broken line).

Thus, the technique of FIGS. 9-11 may reduce the likelihood that even ina retail environment a barista would erroneously print a given image(i.e. by engaging it's text code) on the wrong drink.

A ‘drink-property heterogeneous menu’ show keys and/or codes for imagesto print that are intended and/or targeted for different types ofdrinks. Thus, if a first image is targeted to print on a coffee beverage(e.g. ‘targeted’ according to step S205) and if a second image istargeted to print on a beer beverage (e.g. ‘targeted’ according to stepS205) a menu from which the user can specify the first image as well asthe second image is a ‘drink-property heterogeneous menu.’ In contrast,if all images are targeted to be printed on an identical type of drink(e.g. all ‘large cappuccinos’) this is a ‘drink-property homogeneousmenu.’ Thus, the code menu of FIG. 10 is a ‘drink-property heterogeneousmenu.’

A printing device for printing on a current drink comprising: a. a trayupon which the current drink rests; b. an ink-jet printer to downwardlyink-jet droplets of ink towards the tray to print an image on the drinksupported by the tray; c. a display-screen; d. a mapped drink-codedatabase specifying a map for a plurality of drink-printing codes,between: i. each displayed drink-printing code of the plurality ofdrink-printing codes; and ii. a respective combination of (i) arespective drink-printing-code-specific target-image to be printed bythe ink-jet printer; and (ii) respective drink-printing-code-specifictarget-drink property-data describing a contents of respectivetarget-drink and/or its container; e. a user-interface for: i.displaying a menu comprising the plurality of drink-printing codesdrink-property-heterogeneous on the display-screen such that each drinkcode is displayed in a manner specific to the respective target-drinkproperty-data associated therewith; and i. receiving a user-selection ofone of the drink codes to thereby user-specify, according to the mappeddrink-code database, a target-image; a device controller for respondingto the user drink-code selection, in accordance with content of themapped drink-code database, output of the sensor(s) and output of theanalysis circuitry, by printing the user-interface-specifiedtarget-image onto an upper surface of the current drink.

In the example of FIG. 10, each drink code is displayed in a mannerspecific to the respective target-drink property-data associatedtherewith—thus, codes AD34 and 232A are displayed within a solid lineindicating ‘coffee’ while codes 9ZA2 and GHPQ are displayed within abroken line/oval indicating ‘beer.’ In other examples, the codes may becolored differently—e.g. red characters where the target drink is coffeeand blue characters where the target drink is beer. In another example,a different font (e.g. Geneva vs. Times-New-Roman) or font-size (e.g. 12point vs. 16 point) is used for beer-codes and coffee-codes.

A Discussion of FIGS. 12-13

The example of FIGS. 12-13 describe a technique which also is useful forreducing the likelihood that even in a retail environment a baristawould erroneously print a given image (i.e. by engaging it's text code)on the wrong drink.

FIGS. 13A-13B include steps S301, S305, S309, S313, and S317. Step 13Balso includes steps S321.

In FIG. 12A, the cashier specified that a drink is ‘Drink Code 52’ (i.e.in a certain coffee shop, barista might understand ‘52’ to relate toFrappuccino. In FIG. 12B, the printer has a camera 520 which can take apicture of the outside of the cup—this data can be decoded using OpticalCharacter Recognition (OCR) technology to ‘read.’

From FIGS. 9A-9B, the printer (or circuitry in communication therewith)‘knows’ that the user specified a drink order to print image having codeA212 on a Frappuccino. The data from FIGS. 9A-9B can be matched to theOCR data—if they match this is a sign that the barista has placed the‘correct drink’ on the printer—thus, the user-specified drink order(e.g. specified in part or entirely by terminal 100) specifies that aspecific image is printed on a drink having a specific content (see stepS301-S305 of FIG. 13A). In step S209, when the barista presses code‘A212’ the device can (i) make sure that drink having code ‘A212’written on the side is in fact ‘loaded’ onto the printer (e.g. using theOCR technology) and/or (ii) make sure that the drink whose content isspecified by code ‘52’ is loaded on the printer.

In different embodiments, the OCR may read any text written on the sideof the cup and may assess and/or may determine from the text on the sideof the cup ‘current drink property(ies).’ In the example of FIG. 12A,this may from the word Bob (i.e. who usually orders cappuccino) and/orfrom the ‘Drink 52’ (i.e. which is usually associated with a cappuccino)and/or from “Code A212’ (i.e. which is associated within the mappingand/or database with ‘cappuccino’).

In FIG. 13A, printing on the content of the drink is only ‘permitted’ ifthe drink actually detected to be ‘on the printer’ matches the contentspecified in the order (e.g. see FIGS. 9A-9B).

Thus, in step of S217 the printing is in a manner that is ‘contingentupon’ the drink-match parameter this means that only if the drink-matchparameter meets certain criteria (e.g. indicative of a ‘good match’—e.g.a score above a certain threshold) does the device controller permitprinting and/or does the device controller responds to theuser-selection of a drink code by instructing the ink-jet printer toprint the image.

Alternatively or additionally (see FIG. 13B), if there is a ‘mismatch’an alert or alarm signal (e.g. visual and/or audio) may be generated to‘warn’ the barista not to print on a particular drink.

The example of FIGS. 12A-12B relate to the specific example whereinformation on the container 490 (e.g. text written thereon) is used toidentify the ‘content’ of the drink (i.e. the ‘candidate beverage’ thebarista has placed on the tray 470 and therefore might print thereon bypressing the ‘candidate code’ from the menu on screen 260).

Alternatively or additionally, information about the contents of thedrink may be obtained not from the container and/or writing thereon butfrom one or more (i.e. any combination) of the following technique: atemperature sensor may measure the temperature (e.g. IR sensor) of thedrink—e.g beer is cold but coffee is hot—if the ‘drink order data’ (seeFIGS. 9A-9B) indicate that the drink associated with code “ABCD” isbeer, when the barista selects the code “ABCD” the temperature of the‘candidate drink’ on the tray is measured—if the temperature is ‘hot’then the drink is clearly not beer and an alert and/or alarm signal isgenerated or the printer just will not allow printing.

In another example another camera (now shown) may be stationed next tocartridge 430 looking ‘down’—since the color of coffee is different fromthat of ‘beer’ if the user attempts to choose the code for a drink (i.e.according to the drink order) that is supposed to be coffee but the‘downlooking camera’ shows to be beer, then the alert will be provided.

Some embodiments relate to a printing device for printing on a currentdrink comprising: a. a platform (e.g. tray—elevatable tray having avariable elevation that is controlled by a motor) upon which the currentdrink rests; b. an ink-jet printer (e.g. thermal inkjet and/orbubble-jet) to downwardly ink-jet droplets of ink towards the tray toprint an image on the drink supported by the tray; c. a display-screen;(e.g. disposed above the tray and/or above a nozzle of the ink-jetprinter) d. one or more sensor(s) for acquiring current-drinkproperty-data describing the current drink currently supported by theplatform (e.g. tray) and/or beneath a print-head of the ink-jet printere. a mapped drink-code database specifying a map for a plurality ofdrink-printing codes, between: i. each displayed drink-printing code ofthe plurality of drink-printing codes; and ii. a respective combinationof (i) a respective drink-printing-code-specific target-image to beprinted by the ink-jet printer; and (ii) respectivedrink-printing-code-specific target-drink property-data describingcontents of a respective target-drink and/or its container; f. analysiscircuitry for computing a drink-match parameter between: i.property-data of the current drink sensed by the sensor(s) and ii.property-data of one or more of the target drinks specified by thedatabase; g. a user-interface for: i. displaying adrink-property-heterogeneous menu comprising the plurality ofdrink-printing codes on the display-screen; an ii. receiving auser-selection of one of the drink codes to thereby user-specify,according to the mapped drink-code database, a target-image andtarget-drink property-data; h. a device controller for responding to theuser drink-code selection, in accordance with content of the mappeddrink-code database, output of the sensor(s) and output of the analysiscircuitry, by printing the user-interface-specified target-image onto anupper surface of the current drink in a manner that is contingent uponthe drink-match parameter that is specific to the combination of: i. theuser-specified target-drink property-data as specified via theuser-interface; ii. the current drink property-data as sensed by thesensor(s).

In some embodiments, the sensor is an image sensor configured to acquirea digital image of an outer wall of a container of the current drinkresting on the platform (e.g. tray).

In some embodiments, the analysis circuitry is configured to subject theacquired digital image to optical-character-recognition (OCR) analysisderive therefrom the target-drink property-data.

In some embodiments, instead of writing the drink code (e.g. ‘52’ isFrappuccino) on the side of the cup, a drink-ordering computer (e.g.cash-register in the coffee shop) might print this code to a printer(e.g. on paper)—e.g. near machine 310. In this case, it might bepossible to augment the printed code as follows—the user can show the‘image code’ to the cashier would could print it from the‘order-generating computer’ together with the ‘drink code’—thus, itwould state ‘Drink 52 Image XYZ”—this would be printed on paper. Thebarista would take the small portion of paper containing ‘Drink 52 ImageXYZ” and s/he would know (i) first generate drink 310 using machine 310and (ii) then select the option ‘XYZ’ from the menu to print the imageassociated with text code ‘XYZ.’

Additional Discussion

Standard Reference Method or SRM^([1]) is one of several systems modernbrewers use to specify beer color. Determination of the SRM valueinvolves measuring the attenuation of light of a particular wavelength(430 nm) in passing through 1 cm of the beer, expressing the attenuationas an absorption and scaling the absorption by a constant (12.7 for SRM;25 for EBC). The SRM (or EBC) number represents a single point in theabsorption spectrum of beer. As such it cannot convey full colorinformation which would require 81 points, but it does remarkably wellin this regard (it conveys 92% of spectral information) even when fruitbeers are considered. Auxiliary “deviation coefficients” (see AugmentedSRM below) can pick up the remainder and are necessary for fruit beersand when subtle color differences in malt beers are to be characterized.

Various features of drink-printer device 400, according to non-limitingexamples, are discussed below.

In some embodiments, drink-printer may be employed in a retailenvironment (e.g. a coffee-house, restaurant, café, etc) or anotherenvironment where multiple drinks are printed upon within a relatively‘short’ period of time.

FIG. 15 is a flow-chart of a method for employing the drink-printingdevice. In step S101 an order to produce a first beverage BEV (e.g. acappuccino from Columbian coffee beans) is received—e.g. an ‘app’operating on a mobile phone may be employed to place an order which isreceived via the Internet. In step S105, a request is received to printa first image IMG_(A) (e.g. a photograph such as a ‘selfie’) on theupper surface of the first beverage BEV_(A). The skilled artisan willappreciate that the request to produce the beverage and the requestprint on an upper surface thereof may be received as separate requestsor as part of a single request—e.g. a single mobile phone app mayinclude a user-interface for both specifying a drink as well as an imageto be printed thereof.

In step S109, an order to produce a second beverage BEV_(B) (e.g.Belgian beer) is received—e.g. an ‘app’ operating on a mobile phone maybe employed to place an order which is received via the Internet. Instep S113, a request is received to print a second image IMG_(B) (e.g. asports logo) on the upper surface of the second beverage BEV_(B).

The first BEV_(A) and second BEV_(B) beverages are respectively producedin steps S117 and S125. In this example, the ‘production’ of the firstbeverage may entail brewing coffee and/or topping coffee with foamedmilk or milk-substitute. In this example, the ‘production’ of the secondbeverage may entail pouring beer into a vessel (e.g. a mug)—e.g. using a‘beer-tap’ device. In step S121 the first image IMG_(A). is printedafter the first beverage BEV_(A) is produced. In step S129 the secondimage IMG_(B). is printed after the second beverage BEV_(B) is produced.

In some embodiments, there is a risk that the wrong image will beprinted on the wrong beverage—e.g. IMG_(B) may be printed on BEV_(B).This risk may be more serious in situations where a singledrink-printing device is used for print designs on multiple types ofdrinks.

In one example and as shown in FIG. 16, a user interface (e.g.implemented using touch screen 260) is used by an operator of the drinkprinting device (e.g. a barista). The images to be printing aredisplayed on the touch screen 260. Upon user engagement with an image(e.g. pressing on the Eiffel tower image), drink printer prints theimage upon the upper surface thereof. However, in certain environments(e.g. retail environment) there is a risk that the user (e.g. barista)will print the wrong image on the wrong beverage.

In one example, shown in FIG. 17A, a drink production machine providesbeverages 510A, 510B respectively into containers (e.g. cups 500A,500B). The produced beverages are subsequently printed upon. FIG. 17Brelates to beer—the drink production machine includes a tap assemblywhere each tap dispenses a different respective type/brew/brand of beer.In FIG. 17B, the drink production machine provides beverages 510C, 510Drespectively into containers (e.g. mugs 500C, 500D),

In the example of FIG. 17C, a single drink printer 400 prints on bothcoffee and beer. For example, the single drink printer includes multipleink reservoirs—e.g. a coffee-based ink (e.g. where the primary colorantis coffee) for printing on coffee, and a malt-based ink for printing onbeer. In the example of FIG. 17C, not only does printing the wrongdesign on the wrong drink risk providing the wrong image, but it mayalso ruin the taste of the drink.

Thus, in some embodiments the ink or colorant is selected from multiplereservoirs to ‘taste-match’ the current drinks—e.g. a coffee ink forprinting on coffee, a malt-based ink for printing on beer. In anotherexample, the taste of the colorant which most closely matches a ‘type’of beer is selected—this may require distinguishing between differenttypes of beer.

A Discussion of FIGS. 18A-18C

In the example of FIG. 18C, a plurality of codes (e.g. textual codes)are displayed (e.g. simultaneously displayed) on a screen where eachcode is associated with a different image to print onto the beverage.Thus, in one example (see FIG. 10), when the user engages code AD34 afirst image (e.g. first .gif) is printed—e.g. a picture of an animal,when the user engages a second code 9ZA2 a second image (e.g. a second.gif) is printed (e.g. the script/cursive words “Printed Design”) isprinted, and so on.

FIGS. 18A-18C, 19A-19B, 20A-20B illustrate additional examples.

1-16. (canceled)
 17. A drink-printing system, comprising: a. an ink-jetprinter; b. one or more sensors for sensing property-data of a drinkcontainer; and c. control circuitry configured to (i) determine, fromthe property-data of the drink container, at least one containerproperty selected from the group of container properties consisting ofcontainer-size properties and container-location properties, wherein thedetermining includes calculating, from the property-data, at least twoparameters of a circle describing a portion of the container, and (ii)cause the ink-jet printer to print an image on an upper surface of adrink held in the container, wherein the causing includes using the atleast one container property to control the printing of the image. 18.The drink-printing system of claim 17, wherein the one or more sensorsincludes an optical sensor.
 19. The drink-printing system of claim 17,wherein the one or more sensors includes a plurality of optical sensors.20. The drink-printing system of claim 17, wherein the property-dataincludes coordinates of at least three points.
 21. The drink-printingsystem of claim 17, wherein the at least two calculated parameters ofthe circle include a radius or a diameter.
 22. A drink-printing system,comprising: a. an ink-jet printer; b. one or more sensors for sensingproperty-data of a drink container; and c. control circuitry configuredto (i) determine, from the property-data of the drink container, atleast container-size properties, wherein the determining includescalculating, from the property-data, at least two parameters of a circledescribing a portion of the container, and (ii) cause the ink-jetprinter to print an image on an upper surface of a drink held in thecontainer, wherein the causing includes using the at least one containerproperty to control the printing of the image.
 23. The drink-printingsystem of claim 22, wherein the one or more sensors includes an opticalsensor.
 24. The drink-printing system of claim 22, wherein the one ormore sensors includes a plurality of optical sensors.
 25. Thedrink-printing system of claim 22, wherein the property-data includescoordinates of at least three points.
 26. The drink-printing system ofclaim 22, wherein the at least two calculated parameters of the circleinclude a radius or a diameter.
 27. A method of operating adrink-printing system, the system comprising (i) an ink-jet printer,(ii) one or more sensors for sensing property-data of a drink container,and (iii) control circuitry for causing the ink-jet printer to print animage on an upper surface of a drink held in the container, the methodcomprising: a. sensing, by the one or more sensors, property-data of thecontainer; b. determining, from the property-data about the container,at least one container property selected from the group of containerproperties consisting of container-size properties andcontainer-location properties, wherein the determining includescalculating, from the property-data, at least two parameters of a circledescribing a portion of the container; and c. causing the ink-jetprinter to print the image on the upper surface of the drink, whereinthe control circuitry uses the at least one container property tocontrol the printing of the image.
 28. The method of claim 27, whereinthe property-data includes coordinates of at least three points.
 29. Themethod of claim 27, wherein the at least two calculated parameters ofthe circle include a radius or a diameter.
 30. The method of claim 27,wherein the one or more sensors includes an optical sensor.
 31. Themethod of claim 27, wherein the one or more sensors includes a pluralityof optical sensors.